package com.swp.oa.util;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {

	/** 输出格式: 2006年4月16日 星期六 */
	public static String dateFormatToWeek(Date date) {

		return DateFormat.getDateInstance(DateFormat.FULL).format(date);
	}

	/** 输出格式: 2006-01-01 00:00:00 yyyy-MM-dd hh:mm:ss */
	public static String dateFormatTo12(Date date) {

		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		return sdf.format(date);
	}

	/** 输出格式: 2006-01-01 13:00:00  HH:mm:ss*/
	public static String dateFormat(Date date) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		return sdf.format(date);
	}
	
	/** 字符串类型转换时间格式: 2006-01-01 13:00:00 */
	public static Date stringToDate(String str){
		try {
			String format = "yyyy-MM-dd";
			SimpleDateFormat sdf = null;
			if(str.length() > format.length()){
				sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			}else{
				sdf = new SimpleDateFormat("yyyy-MM-dd");
			}
			return sdf.parse(str);
		} catch (ParseException e) {
			e.printStackTrace();
			return null;
		}
	}
	/** 输出格式: 2015-01-01*/
	public static String getDateFormat(Date date) {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
		return sdf.format(date);
	}
	
	/**
	 * 将字符串转换为Date类型
	 * 
	 * @param date
	 *            字符串类型
	 * @param pattern
	 *            格式
	 * @return 日期类型
	 */
	public static Date format(String date, String pattern) {
		if (pattern == null || pattern.equals("") || pattern.equals("null")) {
			pattern = "yyyy-MM-dd HH:mm:ss";
		}
		if (date == null || date.equals("") || date.equals("null")) {
			return new Date();
		}
		Date d = null;
		try {
			d = new java.text.SimpleDateFormat(pattern).parse(date);
		} catch (ParseException pe) {
		}
		return d;
	}
	
}
